From: Florian Müllner Date: Sat, 6 Aug 2022 23:58:02 +0000 (+0200) Subject: status/network: Hide sections if networking is disabled X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~461^2^2~40 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=cd9284e48fe7d7ba3c234fcf528b3db5f23cc94e;p=gnome-shell.git status/network: Hide sections if networking is disabled When moving to quick settings, we will no longer have a single parent we can hide instead. This is only really needed for VPN - devices go away when networking is disabled, connections (as in: configuration) do not - but it's simpler to just handle this in the base class than adding a _shouldBeVisible() method the VPN section can override. Part-of: --- diff --git a/js/ui/status/network.js b/js/ui/status/network.js index 9e2ef3a8b..14df7978b 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -1342,6 +1342,9 @@ const NMSection = GObject.registerClass({ this._client?.disconnectObject(this); this._client = client; + this._client?.connectObject( + 'notify::networking-enabled', () => this._sync(), + this); this._items.forEach(item => item.destroy()); this._items.clear(); @@ -1461,7 +1464,8 @@ const NMSection = GObject.registerClass({ } _sync() { - this.visible = this._items.size > 0; + this.visible = + this._client?.networking_enabled && this._items.size > 0; this._updateItemsVisibility(); this._updateChecked(); this._itemBinding.source = this._getPrimaryItem(); @@ -1875,9 +1879,6 @@ class Indicator extends PanelMenu.SystemIndicator { this._client.bind_property('nm-running', this, 'visible', GObject.BindingFlags.SYNC_CREATE); - this._client.bind_property('networking-enabled', - this.menu.actor, 'visible', - GObject.BindingFlags.SYNC_CREATE); this._client.connectObject( 'notify::primary-connection', () => this._syncMainConnection(),